在每個開發者的心中,大概都有一個「如果我有時間…」的待辦清單。
對我而言,清單上塵封最久、也最讓我心癢的項目,無疑是想將手邊這個已經跑了四年的 Android 專案 UI,從傳統的 Android XML 搭配 DataBinding,全面遷移到最新的 Jetpack Compose。
這不僅僅是換一套寫法,更是擁抱一種更直觀、更具效率的開發哲學。
但說得輕鬆,做起來卻是另一回事。
就算專案是還算現代的 MVVM 架構,光想到要處理 DataBinding 和觀察者模式下的 UI 更新通知,還要確保轉換成 Jetpack Compose 後,所有功能一個都沒壞、資料流完全正確…
光想,頭就痛了。 這工程基本上就是要花費大量時間硬幹,所以這個夢想,就這樣在待辦清單的深處躺了一年多。
直到最近,事情出現了轉機。
我注意到了 Anthropic 推出的 Claude 模型在程式碼處理能力上的巨大飛躍。它不再只是單純的程式碼生成器,新一代的模型(如 Claude 3.5 Sonnet)展現了驚人的上下文理解與複雜邏輯分析能力。
它能像一位資深架構師一樣,閱讀、消化、甚至「理解」整個專案的結構。
當我試著把一部分複雜的 XML 佈局丟給它,並描述我想要的 Compose 結構時,它給出的不僅是堪用的程式碼,甚至還包含了對狀態管理、元件拆分的建議。
那一刻,我意識到,那個被我束之高閣的重構夢,似乎出現了一道曙光。
但,也就僅僅是曙光而已。
當時的模型依然不足以 Cover 我這整個專案的轉換與整合。因為在 AI 與我之間,依然需要大量的問答、無限的 copy-paste
以及不斷提供 context,這些溝通成本都是巨大的損耗。
然後就在最近,情況完完全全不同了。
當 Claude Code 的能力進一步提升,開始具備 Agent(代理人)模式的雛形時,這一切有了質的改變。
這讓即使是在如今案子、嬰兒、家事三頭燒的狀態下,我依然能勉強擠出時間,讓這個專案從 DataBinding 一步步往 Jetpack Compose 過渡,並且就在前幾天,得到了肉眼可見的顯著成果。
因此,我決定藉由這次 T 客邦鐵人賽,開始記錄這趟重構與轉換的過程。
在這 30 天裡,我的目標就是**最大限度地依靠「AI Agent」**這個全新模式,實時記錄這趟從 XML 到 Jetpack Compose 的遷移之旅。
這會是一帆風順的完美重構,還是一場充滿臭蟲與意外的冒險?我不知道。
但無論如何,那個在 to-do list 上躺了幾年的項目,總算要在今天正式啟動了。
那麼,讓我們開始吧!